package com.prs.crm.dao.cqunicom;

import java.util.Date;
import java.util.List;

import com.prs.crm.dao.BaseDao;
import com.prs.crm.domain.cqunicom.Company;
import com.prs.crm.domain.cqunicom.PoplarOrder;
import com.prs.crm.domain.cqunicom.Services;
import com.prs.crm.domain.hr.Person;

/**
 * @author LanXiaoGang
 * @E-mail:lan9liang@163.com
 * @qq:7857553326
 * @version 创建时间：2011-3-2 下午03:13:41
 * 简单说明
 */

public interface OrderDao extends BaseDao<PoplarOrder> {
	
	void saveOrupdate(PoplarOrder order);
	
	List<PoplarOrder>  getAllOrderList();
	/**
	 * 所有
	 * @param date
	 * @param startTime
	 * @param endTime
	 * @param dealSate
	 * @return
	 */
	List<PoplarOrder>  getAllPopOrder(String date,Date startTime,Date endTime,String dealSate);
	/**
	 * 服务类别
	 * @param date
	 * @param startTime
	 * @param endTime
	 * @param dealSate
	 * @param services
	 * @return
	 */
	List<PoplarOrder>  getServerStylePopOrder(String date,Date startTime,Date endTime,String dealSate,Services services);
	/**
	 * 公司名称
	 * @param date
	 * @param startTime
	 * @param endTime
	 * @param dealSate
	 * @param company
	 * @return
	 */
	List<PoplarOrder>  getCompanyPopOrder(String date,Date startTime,Date endTime,String dealSate,String company);
  
	/**
     * 根据交易状态查询
     * @param deal
     * @return
     */
	List<PoplarOrder> getAllBydealState(String deal);
	
	/**
     * 根据交易状态查询
     * @param deal
     * @return
     */
	List<PoplarOrder> getBydealState(String deal);
	
	/**
	 * 
	 * @param date
	 * @param startTime
	 * @param endTime
	 * @param person
	 * @return
	 */
	List<PoplarOrder>  getByPersonandDate(String date,Date startTime,Date endTime,Person person);
	/**
	 * 公司名称
	 * @param names
	 * @return
	 */
	PoplarOrder  getBycusName(String names);
	
	/**
	 * 公司名称
	 * @param names
	 * @return
	 */
	List<PoplarOrder>  getBycompany(Company com);
	
	/**
	 * 根据人员查找订单
	 */
	List<PoplarOrder>  getByPerson(Person person);
	/**
	 * 派单查询
	 */
	List<PoplarOrder> getDispatchOrder();
	/**
	 * 转接查询
	 */
	List<PoplarOrder> getTraferOrder();
	/**
	 * 清理所有数据
	 */
	Integer  delOrder();
	/**
	 * 根据服务查找
	 */
	List<PoplarOrder> getByServicesOrder(Services services);
	/**
	 * 查询是否有接单人员
	 */
	List<PoplarOrder>  getByPersons(Person person);
	/**
	 * 当前时间内的数据
	 */
	List<PoplarOrder>  getCurrentOrder(Date startTime,Date endTime);
}
